# Django settings for UsablePortal project.

import os

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
        # ('Your Name', 'your_email@domain.com'),
        )

MANAGERS = ADMINS

DATABASE_ENGINE = 'mysql'
DATABASE_NAME = 'portal_dev'
DATABASE_USER = 'portal'
DATABASE_PASSWORD = '1234567'
DATABASE_HOST = ''             # Set to empty string for localhost.
DATABASE_PORT = ''             # Set to empty string for default.
DATABASE_OPTIONS = {
        'use_unicode': True,
        'charset': 'utf8',
        }

EMAIL_HOST = 'localhost'
EMAIL_PORT = 25

APPEND_SLASH = True

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Asia/Bangkok'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'th'

LANGUAGES = (
        ('en', 'English'),
        ('th', 'Thai'),
        )

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = '%s/public/files/' % os.path.dirname(__file__)

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/files/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'n1!ck60@b7c$p(alw6dyh=suj21+ou&yk7^1xr^6hd&hnhjwum'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.load_template_source',
        'django.template.loaders.app_directories.load_template_source',
        #'django.template.loaders.eggs.load_template_source',
        )

MIDDLEWARE_CLASSES = (
        'django.contrib.sessions.middleware.SessionMiddleware',
        'portals.backend.lib.ForceDefaultLanguageMiddleware',
        'django.middleware.locale.LocaleMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        )

ROOT_URLCONF = 'portals.urls'

TEMPLATE_DIRS = (
        # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        '%s/templates' % os.path.dirname(__file__),
        )

TEMPLATE_CONTEXT_PROCESSORS = (
        'django.core.context_processors.auth',
        'django.core.context_processors.debug',
        'django.core.context_processors.i18n',
        'django.core.context_processors.media',
        'django.core.context_processors.request',
        )

INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.admin',
        'portals.backend',
        'portals.frontend',
        'portals.admin_tools',
        'portals.django_evolution',
        'portals.captcha',
        )

LOGIN_URL = '/portals/login/'

AUTH_PROFILE_MODULE = 'backend.profile'

SESSION_EXPIRE_AT_BROWSER_CLOSE = True

#CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
CACHE_BACKEND = 'file://%s/tmp/cache' % os.path.dirname(__file__)

# Set this to the IP address of your frontend web server
FRONTEND_IP = '127.0.0.1'

# If set to False, an admin must config upload permission for each user in admin/profile.
ALWAYS_ALLOW_UPLOAD = False

# Enter the waiting time a user can lock an object for editing.
# This prevents race condition.
EDIT_LOCK_DURATION = 15

# Django Simple CAPTCHA Configuration

CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge'
CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',)
CAPTCHA_FOREGROUND_COLOR = '#222222'
CAPTCHA_BACKGROUND_COLOR = '#eeeeee'
CAPTCHA_LETTER_ROTATION = (-20,20)
#CAPTCHA_FONT_PATH = 'backend/fonts/Purisa.ttf'

AUTHENTICATION_BACKENDS = (
       # 'portals.auth_backends.http_basic_auth.Backend',
#        'portals.auth_backends.simple_imap_auth.Backend',
        'django.contrib.auth.backends.ModelBackend',
        )

# setting for HTTP_BASIC_AUTH
HTTP_BASIC_AUTH_SERVER = 'localhost:3000'
HTTP_BASIC_AUTH_URL = '/login/http'

# setting for SIMPLE_IMAP_AUTH
IMAP_AUTH_SERVER = 'mail.psu.ac.th'
IMAP_AUTH_PORT = 143
IMAP_MAIL_DOMAIN = 'psu.ac.th'

# This is the key for Portal.in.th, each domain needs its own key.
#
GOOGLE_MAPS_API_KEY = 'ABQIAAAAFhUSZtTqcA9Bc9lBD0eeiBRX2lJ9BzFO-HdbNwi3iw9zt33UEBRpzLrsZWwyiQNYxYxO9uYD5pXyXg'

# Default theme (must be located in /public/themes)
#
DEFAULT_THEME = 'optimist'

# If you serve FTP service, set the following options
#
FTP_IP = '' # default IP
FTP_PORT = 2121 # default port is 21
FTP_ROOT = '%s/ftp/root/' % os.path.dirname(__file__)
FTP_LOG_DIR = '%s/ftp/log/' % os.path.dirname(__file__)

